#ifndef __CK_CHECK_ELEMENT_H__
#define __CK_CHECK_ELEMENT_H__

#include "zCore.h"
#include "ckObject.h"

namespace ck
{
	class ZCORE_API CheckElement : public ckObject
	{
	public:
		CheckElement();
		CheckElement(z_uint32 ID);
		virtual ~CheckElement();

	public:
		z_uint32 GetID();
		z_uint32 GetCode();
		z_uint32 GetType();
		const char* GetCodeString();
		const char* GetName();
		const char* GetEName();
		const char* GetDescription();

		void SetCode(z_uint32 nCode);
		void SetType(z_uint32 nType);
		void SetCode(const char* szCode);
		void SetName(const char* szName);
		void SetEName(const char* szEName);
		void SetDescription(const char* szDescription);

	public:
		static void GetElementCode(char* szElementCode, size_t nSize, const char* szCode);
		static void GetSubElementCode(char* szSubElementCode, size_t nSize, const char* szCode);

	protected:
		z_uint32 m_nID;
		z_uint32 m_nCode;
		z_uint32 m_nType;
		char m_szCode[_MAX_FNAME];
		char m_szName[_MAX_FNAME];
		char m_szEName[_MAX_FNAME];
		char m_szDescription[_MAX_PATH];
	};

}

#endif //__CK_CHECK_ELEMENT_H__
